add_mlir_dialect_library(MLIRLinalgTransforms
  BubbleUpExtractSlice.cpp
  BufferizableOpInterfaceImpl.cpp
  Bufferize.cpp
  ConstantFold.cpp
  ConvertToDestinationStyle.cpp
  ConvertConv2DToImg2Col.cpp
  DataLayoutPropagation.cpp
  DecomposeLinalgOps.cpp
  Detensorize.cpp
  DropUnitDims.cpp
  ElementwiseOpFusion.cpp
  ElementwiseToLinalg.cpp
  EliminateEmptyTensors.cpp
  EraseUnusedOperandsAndResults.cpp
  FusePadOpWithLinalgProducer.cpp
  Fusion.cpp
  Generalization.cpp
  Hoisting.cpp
  HoistPadding.cpp
  InlineScalarOperands.cpp
  Interchange.cpp
  Loops.cpp
  NamedOpConversions.cpp
  Padding.cpp
  Promotion.cpp
  Specialize.cpp
  Split.cpp
  SplitReduction.cpp
  SubsetInsertionOpInterfaceImpl.cpp
  SwapExtractSliceWithFillPatterns.cpp
  Tiling.cpp
  TilingInterfaceImpl.cpp
  Transforms.cpp
  TransposeConv2D.cpp
  Vectorization.cpp

  ADDITIONAL_HEADER_DIRS
  ${MLIR_MAIN_INCLUDE_DIR}/mlir/Dialect/Linalg

  DEPENDS
  MLIRLinalgPassIncGen

  LINK_LIBS PUBLIC
  MLIRAffineDialect
  MLIRAffineTransforms
  MLIRAffineUtils
  MLIRAnalysis
  MLIRArithDialect
  MLIRArithTransforms
  MLIRArithUtils
  MLIRBufferizationDialect
  MLIRBufferizationTransforms
  MLIRComplexDialect
  MLIRDestinationStyleOpInterface
  MLIRDialectUtils
  MLIRFuncDialect
  MLIRFuncToLLVM
  MLIRFuncTransforms
  MLIRInferTypeOpInterface
  MLIRIR
  MLIRMemRefDialect
  MLIRMemRefTransforms
  MLIRLinalgDialect
  MLIRLinalgUtils
  MLIRSCFDialect
  MLIRSCFTransforms
  MLIRSCFUtils
  MLIRPass
  MLIRSubsetOpInterface
  MLIRSparseTensorDialect
  MLIRTensorDialect
  MLIRTensorTilingInterfaceImpl
  MLIRTensorTransforms
  MLIRTransforms
  MLIRTransformUtils
  MLIRValueBoundsOpInterface
  MLIRVectorDialect
  MLIRVectorTransforms
  MLIRVectorUtils
  MLIRX86VectorTransforms
  MLIRVectorToSCF
)
